home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 501-525 / disk_508 / hcc / readme < prev    next >
Text File  |  1992-05-06  |  11KB  |  246 lines

  1. First, the original copyright of the compiler:
  2.  
  3. /* Copyright (c) 1988,1989,1991 by Sozobon, Limited.  Author: Johann Ruegg
  4.  *
  5.  * Permission is granted to anyone to use this software for any purpose
  6.  * on any computer system, and to redistribute it freely, with the
  7.  * following restrictions:
  8.  * 1) No charge may be made other than reasonable charges for reproduction.
  9.  * 2) Modified versions must be clearly marked as such.
  10.  * 3) The authors are not responsible for any harmful consequences
  11.  *    of using this software, even if they result from defects in it.
  12.  */
  13.  
  14. Then, the original copyright of the optimizer:
  15.  
  16. /* Copyright (c) 1988,1989,1991 by Sozobon, Limited.  Author: Tony Andrews
  17.  *
  18.  * Permission is granted to anyone to use this software for any purpose
  19.  * on any computer system, and to redistribute it freely, with the
  20.  * following restrictions:
  21.  * 1) No charge may be made other than reasonable charges for reproduction.
  22.  * 2) Modified versions must be clearly marked as such.
  23.  * 3) The authors are not responsible for any harmful consequences
  24.  *    of using this software, even if they result from defects in it.
  25.  */
  26.  
  27. Then, my copyright:
  28.  
  29. HCC 2.0 Amiga version 1.1 and TOP 2.0 Amiga version 1.1. I declare the work
  30. done by me as Public Domain. Detlef Wuerkner.
  31.  
  32. Contents:
  33. ---------
  34. Compiler HCC with source, Optimizer TOP with source, Assembler A68k from Fish
  35. #314, Linker BLink from Fish #314, C library CClib.library from Fish #399,
  36. C header files, Startup Code HCC.o, Linker libraries HCC.lib with source
  37. and Stubs.lib, Tool FD2Stubs with source.
  38.  
  39. Not included:
  40. -------------
  41. Make utility, cc frontend, and other tools. I have never seen a system()
  42. function that returns the returncode of the called program (Execute() returns
  43. whether or not c:Run could be loaded). If you have one (public domain, with
  44. source), let me know.
  45.  
  46. Also not included:
  47. ------------------
  48. The Commodore include files, Commodore linker library amiga.lib.
  49. You will need them when writing Amiga-specific (but non-portable) programs.
  50. Let me cite Jeff Lydiatt (Fish 314):
  51. The include files are available from commodore for a nominal $20 fee.
  52. Write to:
  53.         Commodore Business Machines
  54.         Software Department
  55.         1200 Wilson Drive
  56.         West Chester, PA 19380
  57. Ask for the "AmigaDos 1.3 Native Developer Upgrade".  The kit contains all
  58. the assembler and C include files, the libraries, autodocs, readme files,
  59. alink, and the library offsets.  It comes on 3 or 4 disks - well worth the
  60. $20.
  61. Jeff Lydiatt.
  62.  
  63. I got the include files from Commodore Germany, Frankfurt. Thanks Commodore!
  64. The file amiga.lib, the autodocs and some tools came also with them.
  65. You should also try to get them from your National Commodore office.
  66.  
  67.  
  68.  
  69. If this is your first contact to C:
  70. -----------------------------------
  71. Here you will find NO manual about the language itself. You should buy a book
  72. about C, for example, Kernighan/Ritchie, The C Programming Language. This book
  73. is also available now in the second edition, ANSI C. This here is not an ANSI C
  74. compiler, but the book should be useful to you at all. It is also available in
  75. german language, I don't know which other languages are available. Of course,
  76. if you won't spend too much money, you first could try the courses published in
  77. several computer magazines.
  78.  
  79.  
  80. If you are not familiar with C programming on the Amiga:
  81. --------------------------------------------------------
  82. Look for 'CManual' on Fish #337 from Anders Bjerin. Let me cite him:
  83.  
  84. 'This is the complete C manual for the Amiga which describes
  85. how to open and work with Screens, Windows, Graphics, Gadgets,
  86. Requesters, Alerts, Menus, IDCMP, Sprites etc. The manual
  87. consists of 11 chapters together with more than 70 fully
  88. executable examples with source code.
  89.  
  90. The examples are written in Lattice C V5.02, but will compile
  91. perfectly with older versions, as well as with other C
  92. compilers.'
  93.  
  94. OK, this compiler is tested with all examples. It will NOT compile the programs
  95. in directories 'tool' and 'filewindow' without small changes.
  96.  
  97. You also should try to get the includes and autodocs from Commodore, as
  98. described above. Without the include files, you can't compile the 'CManual',
  99. and many PD programs written in C make use of that files.
  100.  
  101.  
  102. If you have enough money:
  103. -------------------------
  104. There are commercial C compilers available for the Amiga which should be, of
  105. course, better than this one. I've not enough money, so I use HCC. This
  106. compiler makes no function prototyping, no stack overflow checking, no array
  107. range checking, few warnings, few meaningful error messages, etc. Although it
  108. comes with full source, it's not easy to improve it, since the number of
  109. comments in the source is nearly zero (for HCC. TOP is documented a little bit
  110. better). If you already have Lattice C: I would be interested if it's possible
  111. to link object files of Lattice and HCC together (object file format, stack
  112. frame, register useage, etc. I heard that Aztec C uses a different object file
  113. format.). Please let me know!
  114.  
  115.  
  116. If you want to make money:
  117. --------------------------
  118. If you plan to write commercial or shareware programs with this compiler,
  119. let me cite Robert W. Albrecht Jr., the author of CClib.library:
  120. '   THIS IS NOT PUBLIC DOMAIN. You can however create public domain programs
  121.     that use it, but you MUST pay a $50 license fee for Version 2.0 or above
  122.     to use it with commercial software.'
  123. (Robert W. Albrecht allowed me to distribute CClib.library with HCC, the
  124. actual version is 3.0.)
  125. So, for commercial use, pay your $50 for CClib.library or use another standard
  126. C library. For Public Domain Programs, feel free to use this compiler.
  127.  
  128.  
  129. If you want to install this compiler:
  130. -------------------------------------
  131. See the file 'Installation' in the docs directory.
  132.  
  133.  
  134. If you are confused about the many PD C Compilers for the Amiga:
  135. ----------------------------------------------------------------
  136. Up to Fish #430, there are four main types of C Compilers available:
  137. SmallC, PDC, DICE, and the Sozobon Compiler.
  138. I dont want to tell you the history of the first three, but the Sozobon
  139. Compiler has this history (and names):
  140.  
  141. Sozobon-C    Atari ST version of what appears to be a full K&R freeware
  142. (Fish 171)    C-compiler, assembler and linker.
  143.         ...
  144.         Amiga port should be relatively easy.    
  145.         Author:  Sozobon, Limited.
  146.  
  147. Zc        This is a modified version of the Sozobon C compiler
  148. (Fish 193)    from disk 171.  It has been modified to generate code
  149.         compatible with the A68k assembler from disk 186 and
  150.         a new frontend control program makes it easy to use
  151.         like the UNIX "cc" frontend.  Version 1.01, includes
  152.         source.
  153.         Author:  Johann Ruegg; Amiga work by Joe Montgomery
  154.  
  155. Zc        A full K&R C compiler based on a port of the Atari ST
  156. (Fish 314)    version of the Sozobon-C compiler.  Includes the C compiler
  157.         main pass written by Johann Ruegg with fixes and enhancements
  158.         by Joe Montgomery and Jeff Lydiatt, a cc front end written
  159.         by Fred Fish with enhancements by Jeff Lydiatt and Ralph
  160.         Babel, an optimizer written by Tony Andrews, an assembler
  161.         written by Brian Anderson and Charlie Gibb, a linker written
  162.         by the Software Distillery, generic include files, and a C
  163.         runtime library written by Dale Schumacher and ported by
  164.         Jeff Lydiatt.  This is version 1.01, an update to disks 171
  165.         and 193.
  166.         Author:  Various, see documentation.
  167.  
  168. NorthC        A complete freely redistributable C environment for the
  169. (Fish 340)    Amiga based on the Sozobon Ltd C compiler, Charlie Gibb's
  170.         assembler, the Software Distillery's linker, and portions
  171.         from other sources.  Steve has pulled everything together
  172.         and added some enhancements in the process.  Version 1.0,
  173.         partial source only.
  174.         Author:  Steve Hawtin, et. al.
  175.  
  176. NorthC        ...
  177. (Fish 353)    version 1.1, an update to version 1.0 on disk 340.
  178.         Partial source only.
  179.         Author:  Steve Hawtin, et. al.
  180.  
  181. NorthC        ...
  182. (Fish 384)    version 1.2, an
  183.         update to version 1.1 on disk 353.  Changes include extra
  184.         examples, many bug fixes, further documentation and some
  185.         improvements.  The environment is supplied compressed and
  186.         unpacks to two disks.  Partial source is included.
  187.         Author:  Steve Hawtin, Charlie Gibbs, Sozobon Ltd, The
  188.              Software Distilary and many others.
  189.  
  190. Now what is HCC ? HCC was based on Zc from Fish 193. I improved it until it
  191. could compile itself. Then Sozobon Ltd sent me version 1.2 of the original
  192. Atari compiler (Yes, on the Atari there exist also different versions!).
  193. After implementing the changes in the compiler and portating the optimizer (can
  194. now 'registerize' variables!), the name was changed to HCC (This is the original
  195. name of it). Then the C library used was changed from my personal dLibs hack to
  196. CClib.library from Robert W. Albrecht. This required implementation of 32 bit
  197. ints and modification of register usage. I could release that version, but I
  198. didn't, since it contained some bugs I couldn't find, especially with (now 32
  199. bit) bit fields. This bit field bugs seem to be fixed now, since the Atari
  200. version 2.0 reached me some weeks ago from Sozobon Ltd. From Zc on Fish 314 I
  201. implemented a few modifications done by Jeff Lydiatt. From NorthC I could not
  202. implement anything, since... partial source only (No source of compiler) !
  203.  
  204. Special note to Jeff Lydiatt and Steve Hawtin: Feel free to implement the
  205. changes in your compilers. Contact me if you think the number of versions should
  206. be reduced (I think so). But I want a compiler that completely compiles itself
  207. (without Aztec library functions), has full source code and documented changes.
  208.  
  209. If you want to improve this compiler:
  210. -------------------------------------
  211. Feel free! And, if you really fixed a bug or made some enhancements, don't make
  212. this for your own, there are other Amiga users which would be pleased about.
  213. But, to prevent Fred Fish from including yet another version of HCC in his
  214. library every two weeks, I think it would be best if you would do this two
  215. things:
  216.  
  217. --- Do not change the source without a little comment. There will be, of
  218. course, different versions, for Atari and for Amiga (and UNIX and MSDOS), in the
  219. future, and it was difficult enough for me to implement the Atari 2.0
  220. enhancements in my Amiga version, since they were not commented. The next Atari
  221. version will also be not commented, I think. It was also not easy to find the
  222. differences between Zc from Fish #314 and Zc from Fish #193, since only Jeff
  223. Lydiatt commented his changes (Thanks Jeff!). So, please, comment your changes,
  224. even something like /* Mr. X */ would help me to find them for inclusion in the
  225. next version of HCC.
  226. --- Of course, you can send your improvements directly to Fred Fish. For major
  227. enhancements, this would be the best way. But, please, send minor enhancements,
  228. especially such of HCC and TOP itself, to me for collecting them and inclusion
  229. in the next release of HCC to prevent too much different versions. One version
  230. with all enhancements is better than 27 versions with less enhancements. I would
  231. be pleased even about very little improvements, and I will mention them together
  232. with the names of the authors. This applys, of course, also for bug reports. I
  233. can't guarantee a personal response to each of you, since this is the first time
  234. I release something in the PD, and I can't say how many letters will drop in.
  235. But I'll try to do my best.
  236.  
  237.  
  238.  
  239. Greetings to all AMIGA freaks,
  240.  
  241. Detlef Wuerkner
  242. Werrastrasse 7
  243. D-6300 Giessen
  244. GERMANY
  245.  
  246.